iT邦幫忙

DAY 8
1

Ruby on Rails 實戰聖經 - 初心者的30天學習記錄系列 第 8

Ruby on Rails實戰聖經 (08) - 修改、刪除

  • 分享至 

  • xImage
  •  

與新增資料的步驟很像,修改一樣有兩個步驟:
第一個步驟是找到你要修改的那筆資料,第二個步驟是送出表單update那筆資料。

首先編輯guests_controller.rb

def edit
@guest = Guest.find(params[:id])
end

並編輯edit.html.erb

<%= form_for @guest, :url => {:controller => 'guests', :action =>'update', :id => @guest} do |e| %>
<%= e.label :title, "Title" %>
<%= e.text_field :title %>

<%= e.label :description, "Description" %>
<%= e.text_area :description %>

<%= e.submit "確認修改" %>
<% end %>

這個表單會在頁面上呈現目前的資料並可供修改,送出後會將表單送到 guests_controller的 update action,我們要在update action裡接這個表單,並修改這筆資料。

def update
@guest = Guest.find(params[:id])
@guest.update_attributes(guests_params)
redirect_to :action => :show, :id => @guest
end

這邊的guests_params是我為了接這個 parmas另外寫的 function,請見(06) - 新增資料


最後是刪除這個功能,一樣是找到要刪除的那筆資料,呼叫destroy方法,刪除資料庫這筆資料。

def destroy
@guest = Guest.find(params[:id])
@guest.destroy

redirect_to :action => :index
end

上一篇
Ruby on Rails實戰聖經 (07) - 列出個別資料
下一篇
Ruby on Rails實戰聖經 (09) - 版型 (Layout)
系列文
Ruby on Rails 實戰聖經 - 初心者的30天學習記錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言